import {
  getMvDetail
} from "../../api/music"
import {
  getUrl
} from "../../api/music"
function getRandomColor() {
  const rgb = []
  for (let i = 0; i < 3; ++i) {
    let color = Math.floor(Math.random() * 256).toString(16)
    color = color.length === 1 ? '0' + color : color
    rgb.push(color)
  }
  return '#' + rgb.join('')
}

// pages/mv-detail/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    info: {},
    mvUrl: "",
    value: "",
    url:"",
    danmuList: [{
      text: '第 1s 出现的弹幕',
      color: '#ff0000',
      time: 1
    }, {
      text: '第 3s 出现的弹幕',
      color: '#ff00ff',
      time: 3
    }],
    show: false,
    actions: [{
        name: '粉色',
        value: "#ff6b81"
      },
      {
        name: '绿色',
        value: "#2ecc71"
      },
      {
        name: '蓝色',
        value: "#3498db"
      },
    ],
    selectColor: "#fff"
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    
    console.log(options.id);
    getUrl(options.id).then(res=>{
      console.log(res);
      this.setData({
        url:res.data.data.url
      })
      console.log(this.data.url);
    })
    getMvDetail(options.id).then(res => {
      console.log(res)
      const keys = Object.keys(res.data.data.brs)
      this.setData({
        info: res.data.data,
        mvUrl: res.data.data.brs[keys[keys.length - 1]]
      })
    })



    /* this.username = "kxr224";
    this.nickname = "cyrus";
    this.groupId = "web07danmu" + options.id
    this.avatar = ""
    const url = `wss://showme.myhope365.com/websocketChat?username=${this.username}&password=1212&courseId=${this.groupId}&nickName=${this.nickname}&avatar=${this.avatar}`
    // 创建一个 WebSocket 连接。
    wx.connectSocket({
      url,
    }) */
    // 监听 WebSocket 连接打开事件
    /* wx.onSocketOpen((result) => {
      console.log("链接到了聊天室");
      // 获取历史消息
      const body = {
        cmd: 19, // 命令 
        type: 1, // 类型 固定值
        groupId: this.groupId, //  分组的id
        userId: this.username // 用户id（这里可以用loginName）
      }
      // 通过 WebSocket 连接发送数据。需要先 wx.connectSocket
      wx.sendSocketMessage({
        data: JSON.stringify(body),
      })
    }) */
    // 监听 WebSocket 接受到服务器的消息事件
 /*    wx.onSocketMessage((result) => {
      const data = JSON.parse(result.data)
      console.log(data);
      if (data.code == 10018 && data.command == 20 && data.data && data.data.groups) {
        this.setData({
          danmuList: data.data.groups[this.groupId].map(item=>{
            return JSON.parse(item.content)
          })
        })
        setTimeout(() => {
        }, 5000);
      }else if(data.command === 11){
        console.log(data);
        // 实时弹幕
        this.data.danmuList.push(JSON.parse(data.data.content))
        this.setData({
          danmuList:this.data.danmuList
        })
      }
    }) */
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    // 创建 video 上下文 VideoContext 对象。
    this.mvVideo = wx.createVideoContext('mvVideo');
  },
// 单击播放
  play() {
    this.mvVideo.play()
  },
  // 
  stop(){
    this.mvVideo.pause()
  },
  timeupdate(e) {
    this.currentTime = Math.floor(e.detail.currentTime)
  },
  // 发送弹幕
  sendDanmu() {
    console.log(this.data.value);
    console.log(this.data.selectColor);
    const danmuObj = {
      text: this.data.value,
      color: this.data.selectColor,
      // time: this.currentTime || 1
    }
    this.mvVideo.sendDanmu(danmuObj)
    /* const body = {
      from: this.username, // 发送人，当前用户的用户名
      createTime: new Date().getTime(), // 发送时间
      cmd: 11, // 命令固定内容
      group_id: this.groupId, // 分组id。  想要发送到哪个组里
      chatType: 1, //  聊天类型 固定内容
      msgType: 0, // 消息类型 固定内容
      content: JSON.stringify(danmuObj), // 消息内容，自己设计结构，比如你想发送图片（图片上传的接口）
      nickName: this.nickName, // 用户昵称
      avatar: this.avatar, // 用户头像
      type: "1" // 消息类型。 你可以自己设计，发送过去是什么，返回的就是什么（1: 普通文本 2: 图片 3：点赞 4， 送花）
    } */
    /* wx.sendSocketMessage({
      data: JSON.stringify(body),
    }) */
  },

  selectColor() {
    this.setData({
      show: true
    })
  },
  onClose() {
    this.setData({
      show: false
    });
  },
  onSelect(event) {
    console.log(event.detail);
    this.data.selectColor = event.detail.value
  },
})